diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig
index 2373037..b84e351 100644
--- a/drivers/misc/Kconfig
+++ b/drivers/misc/Kconfig
@@ -144,4 +144,9 @@
 	  Hidden option to enable QEMU fw_cfg interface. This will be selected by
 	  either CONFIG_CMD_QFW or CONFIG_GENERATE_ACPI_TABLE.
 
+config I2C_EEPROM
+	bool "Enable driver for generic I2C-attached EEPROMs"
+	depends on MISC
+	help
+	  Enable a generic driver for EEPROMs attached via I2C.
 endmenu
diff --git a/drivers/misc/i2c_eeprom.c b/drivers/misc/i2c_eeprom.c
index 814134a..c9f4174 100644
--- a/drivers/misc/i2c_eeprom.c
+++ b/drivers/misc/i2c_eeprom.c
@@ -13,7 +13,7 @@
 static int i2c_eeprom_read(struct udevice *dev, int offset, uint8_t *buf,
 			   int size)
 {
-	return -ENODEV;
+	return dm_i2c_read(dev, offset, buf, size);
 }
 
 static int i2c_eeprom_write(struct udevice *dev, int offset,
@@ -27,23 +27,46 @@
 	.write	= i2c_eeprom_write,
 };
 
+static int i2c_eeprom_std_ofdata_to_platdata(struct udevice *dev)
+{
+	struct i2c_eeprom *priv = dev_get_priv(dev);
+	u64 data = dev_get_driver_data(dev);
+
+	/* 6 bit -> page size of up to 2^63 (should be sufficient) */
+	priv->pagewidth = data & 0x3F;
+	priv->pagesize = (1 << priv->pagewidth);
+
+	return 0;
+}
+
 int i2c_eeprom_std_probe(struct udevice *dev)
 {
 	return 0;
 }
 
 static const struct udevice_id i2c_eeprom_std_ids[] = {
-	{ .compatible = "i2c-eeprom" },
+	{ .compatible = "i2c-eeprom", .data = 0 },
+	{ .compatible = "atmel,24c01a", .data = 3 },
+	{ .compatible = "atmel,24c02", .data = 3 },
+	{ .compatible = "atmel,24c04", .data = 4 },
+	{ .compatible = "atmel,24c08a", .data = 4 },
+	{ .compatible = "atmel,24c16a", .data = 4 },
+	{ .compatible = "atmel,24c32", .data = 5 },
+	{ .compatible = "atmel,24c64", .data = 5 },
+	{ .compatible = "atmel,24c128", .data = 6 },
+	{ .compatible = "atmel,24c256", .data = 6 },
+	{ .compatible = "atmel,24c512", .data = 6 },
 	{ }
 };
 
 U_BOOT_DRIVER(i2c_eeprom_std) = {
-	.name		= "i2c_eeprom",
-	.id		= UCLASS_I2C_EEPROM,
-	.of_match	= i2c_eeprom_std_ids,
-	.probe		= i2c_eeprom_std_probe,
-	.priv_auto_alloc_size = sizeof(struct i2c_eeprom),
-	.ops		= &i2c_eeprom_std_ops,
+	.name			= "i2c_eeprom",
+	.id			= UCLASS_I2C_EEPROM,
+	.of_match		= i2c_eeprom_std_ids,
+	.probe			= i2c_eeprom_std_probe,
+	.ofdata_to_platdata	= i2c_eeprom_std_ofdata_to_platdata,
+	.priv_auto_alloc_size	= sizeof(struct i2c_eeprom),
+	.ops			= &i2c_eeprom_std_ops,
 };
 
 UCLASS_DRIVER(i2c_eeprom) = {
